package main

import (
	"NetTools/menu"
	"fmt"
	"net"
)

func main() {
	showProgramInfo()
	showNetworkInfo()

	// 菜单循环
	for {
		menu.ShowMenu()

		var choice int
		_, err := fmt.Scan(&choice)
		if err != nil {
			fmt.Println("输入无效，请输入数字")
			continue
		}

		menu.HandleInput(choice)
	}
}

func showProgramInfo() {
	fmt.Println("=== 网络工具命令行程序 ===")
	fmt.Println("版本: 1.0.0")
	fmt.Println("作者: 用户")
	fmt.Println()
}

func showNetworkInfo() {
	fmt.Println("=== 当前网络信息 ===")

	// 获取所有网络接口
	interfaces, err := net.Interfaces()
	if err != nil {
		fmt.Println("获取网络接口失败:", err)
		return
	}

	for _, iface := range interfaces {
		fmt.Printf("接口: %s\n", iface.Name)
		fmt.Printf("  MAC地址: %s\n", iface.HardwareAddr)

		// 获取接口IP地址
		addrs, err := iface.Addrs()
		if err != nil {
			fmt.Println("  获取IP地址失败:", err)
			continue
		}

		for _, addr := range addrs {
			fmt.Printf("  IP地址: %s\n", addr)
		}
		fmt.Println()
	}
}
